<?php
/**
 * Created by PhpStorm.
 * User: mr.lee
 * Date: 2018/7/16
 * Time: 下午3:25
 */

namespace app\index\controller;


use app\common\model\Mail;
use PHPMailer\PHPMailer\PHPMailer;
use think\Controller;

class Sendmail extends Controller
{
    public function send()
    {
         $Mail=new Mail();
        $arr=$Mail->limit(2501,500)->select();
        $sum=0;
     foreach($arr as $k=>$v){
//         echo $v;
         $this->sends(trim($v['mail']));
         $sum++;
         echo $sum;
     }

    }

    private function sends($mail)
    {
        $to = $mail;
        $title = "微信卡包会员系统免费提供免费提供";
        $content = "<div>免费开通、免费开通、
微信卡包会员系统（悟能cms）
功能支持：聚合支付+微信卡包会员（积分、储值、等级、付费卡，预售券、开卡送券、付费券、关注送券、免费券、绩效统计、社交立减金、支付后送券、等营销活动）
核销工具：PC端、小程序、客户端、APP、POS机、传统台卡
合作模式：仅限服务商、1000元质保金（开通20商户退还）开代理走自己通道、无限制开户。热线：18903725210
</div><div><img src='http://api.wunengkeji.com/viewfile.jpg' style='width:800px;'></div>";
//        echo $content;
//        exit();

        $send = $this->sendMail($to, $title, $content);
        var_dump($send);
    }

    /**
     * 发送邮件方法
     * @param string $to：接收者邮箱地址
     * @param string $title：邮件的标题
     * @param string $content：邮件内容
     * @return boolean  true:发送成功 false:发送失败
     */
    private function sendMail($to, $title, $content)
    {


        //实例化PHPMailer核心类
        $mail = new PHPMailer();
        //是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式
        $mail->SMTPDebug = 1;
        //使用smtp鉴权方式发送邮件
        $mail->isSMTP();
        //smtp需要鉴权 这个必须是true
        $mail->SMTPAuth = true;
        //链接qq域名邮箱的服务器地址
        $mail->Host = 'smtp.exmail.qq.com';
        //设置使用ssl加密方式登录鉴权
        $mail->SMTPSecure = 'ssl';
        //设置ssl连接smtp服务器的远程服务器端口号，以前的默认是25，但是现在新的好像已经不可用了 可选465或587
        $mail->Port = 465;
        //设置smtp的helo消息头 这个可有可无 内容任意
        $mail->Helo = '河南悟能网络科技有限公司';
        //设置发件人的主机域 可有可无 默认为localhost 内容任意，建议使用你的域名
        $mail->Hostname = '123.206.180.145';
        //设置发送的邮件的编码 可选GB2312 我喜欢utf-8 据说utf8在某些客户端收信下会乱码
        $mail->CharSet = 'UTF-8';
        //设置发件人姓名（昵称） 任意内容，显示在收件人邮件的发件人邮箱地址前的发件人姓名
        $mail->FromName = '河南悟能网络科技有限公司';
        //smtp登录的账号 这里填入字符串格式的qq号即可
        $mail->Username = 'ldl@weilinzhou.com';
        //smtp登录的密码 使用生成的授权码 你的最新的授权码
        $mail->Password = 'Mk95VzSZdR8jWGqD';
        //设置发件人邮箱地址 这里填入上述提到的“发件人邮箱”
        $mail->From = 'ldl@weilinzhou.com';
        //邮件正文是否为html编码 注意此处是一个方法 不再是属性 true或false
        $mail->isHTML(true);
        //设置收件人邮箱地址 该方法有两个参数 第一个参数为收件人邮箱地址 第二参数为给该地址设置的昵称 不同的邮箱系统会自动进行处理变动 这里第二个参数的意义不大
        $mail->addAddress($to, '');
        //添加多个收件人 则多次调用方法即可
        // $mail->addAddress('xxx@qq.com','lsgo在线通知');
        //添加该邮件的主题
        $mail->Subject = $title;
        //添加邮件正文 上方将isHTML设置成了true，则可以是完整的html字符串 如：使用file_get_contents函数读取本地的html文件
        $mail->Body = $content;

        //为该邮件添加附件 该方法也有两个参数 第一个参数为附件存放的目录（相对目录、或绝对目录均可） 第二参数为在邮件附件中该附件的名称
        // $mail->addAttachment('./d.jpg','mm.jpg');
        //同样该方法可以多次调用 上传多个附件
        // $mail->addAttachment('./Jlib-1.1.0.js','Jlib.js');

        $status = $mail->send();

        //简单的判断与提示信息
        if ($status) {
            return true;
        } else {
            return false;
        }
    }

}